/* eslint-disable eqeqeq *///忽略==的警告
import { isNoBulbDevice } from "./pidUtils";
import { meshLog, SPRemove, SPGet, SPSet } from "../config";

export const getNameBygroupID = (groupID) => {
    let name = '';
    const groupList = JSON.parse(SPGet("groupList"))
    for (let i = 0; i < groupList.length; i++) {

        if (groupList[i].groupID == groupID) {
            name = groupList[i].name;
        }
    }
    return name;
}


export const decimalToVersionString = (decimalNum) => {
    // 确保输入是16位无符号整数
    const vid = decimalNum & 0xFFFF;

    // 使用位运算提取版本段
    const major = (vid >>> 11) & 0x1F;  // 高5位
    const minor = (vid >>> 6) & 0x1F;   // 中间5位
    const build = vid & 0x3F;           // 低6位

    return `V${major}.${minor}.${build}`;
}

export const decimalToVersionString2 = (decimalNum) => {
    // 确保输入是16位无符号整数
    const vid = decimalNum & 0xFFFF;

    // 使用位运算提取版本段
    const major = (vid >>> 11) & 0x1F;  // 高5位
    const minor = (vid >>> 6) & 0x1F;   // 中间5位
    const build = vid & 0x3F;           // 低6位

    let versions = [major, minor, build]

    return versions;
}



// export const judgeNanoIsOnline = () => {
//   let deviceSetx = JSON.parse(SPGet("deviceSetx"));
//   let globalAttr = getGlobalDataList(deviceSetx);
//   meshLog("wjk nano", globalAttr);
//   for (let i = 0; i < globalAttr.length; i++) {
//     if (globalAttr[i].isOnline == '01') {
//       return true;
//     }
//   }
//   return false;
// }


// export const getGlobalDataList = (deviceSetx) => {
//   let array = [];

//   if (deviceSetx.length == 0) {
//     return array;
//   }
//   let count = 0;

//   let isOnline = '';
//   for (let i = 0; i < deviceSetx.length; i++) {
//     if (deviceSetx[i].hasOwnProperty('isOnline')) {
//       if (deviceSetx[i].isOnline == '01') {
//         isOnline = '01';
//       }
//     }
//   }


//   for (let i = 0; i < deviceSetx.length; i++) {
//     if (deviceSetx[i].pid == '100E') {
//       deviceSetx[i].isOnline = isOnline;
//       array[count] = deviceSetx[i];
//       count++;
//     }
//   }
//   // meshLog("wjk GlobaArray:",array);
//   return array;
// }

// export const getAreasDataList = (areaSetx, deviceSetx, curAreaNo) => {
//   let array = [];
//   // meshLog("wjk areaSetx:",areaSetx.length,' deviceSetx:',deviceSetx.length);
//   if (areaSetx.length == 0) {
//     return array;
//   }

//   if (curAreaNo == '') {
//     curAreaNo = areaSetx[0].areaNo;
//   }

//   let groupSetx = JSON.parse(SPGet("groupSetx"));
//   for (let i = 0; i < areaSetx.length; i++) {
//     let arrayN = getDevicesDataList(areaSetx[i].areaNo, deviceSetx);
//     let arrayG = getSubGroupDataList(areaSetx[i].areaNo, deviceSetx, groupSetx);

//     let total = arrayN.length;
//     for (let m = 0; m < arrayG.length; m++) {
//       total = total + arrayG[m].arrayD.length;
//     }
//     let desc = total + ' Device(s) • ' + arrayG.length + ' Subgroup(s)'

//     array[i] = { name: areaSetx[i].name, areaNo: areaSetx[i].areaNo, desc: desc, curAreaNo: curAreaNo }
//   }

//   // meshLog("wjk areaArray:",array);
//   return array;
// }

// //未分组
// export const getUnGroupDataList = (deviceSetx) => {
//   // meshLog("wjk --unGroupArray?:", deviceSetx);
//   let array = [];
//   if (deviceSetx.length == 0) {
//     return array;
//   }
//   let count = 0;
//   //获取遥控器数据--排上方
//   let arrayR = getRemoteDataList(deviceSetx, 'C000');
//   for (let i = 0; i < arrayR.length; i++) {
//     array[count] = arrayR[i];
//     count++;
//   }
//   //获取普通设备
//   for (let i = 0; i < deviceSetx.length; i++) {
//     if (typeof (deviceSetx[i].pid) == 'undefined') {
//       continue;
//     }
//     if (isNoBulbDevice(deviceSetx[i].pid)) {
//       continue;
//     }
//     if (deviceSetx[i].areaNo === 'C000' || deviceSetx[i].areaNo === '0000') {
//       array[count] = deviceSetx[i];
//       count++;
//     }
//   }

//   meshLog("wjk unGroupArray:", array);
//   return array;
// }


// export const getRemoteDataList = (deviceSetx, areaNo) => {
//   if (deviceSetx.length == 0) {
//     return [];
//   }
//   //获取遥控器集合
//   let arrayR = [];
//   let countR = 0;
//   for (let i = 0; i < deviceSetx.length; i++) {
//     if (deviceSetx[i].pid == '100C') {
//       arrayR[countR] = deviceSetx[i];
//       countR++;
//     }
//   }

//   if (arrayR.length == 0) {
//     return [];
//   }

//   let noBulb = JSON.parse(SPGet("noBulbSetx"));
//   // meshLog("wjk noBulb=", noBulb);
//   //获取遥控器存的area集合
//   let arrayA = [];
//   let countA = 0;
//   for (let m = 0; m < arrayR.length; m++) {
//     let isContail = false;

//     for (let i = 0; i < noBulb.length; i++) {
//       if (arrayR[m].address == noBulb[i].address) {
//         for (let j = 0; j < noBulb[i].areas.length; j++) {
//           if (noBulb[i].areas[j] == areaNo) {
//             isContail = true;
//           }
//         }
//       }
//     }
//     if (isContail) {
//       arrayA[countA] = arrayR[m];
//       countA++;
//     }
//   }
//   // meshLog("wjk remote areaNo:", areaNo, ' array:', arrayA);
//   return arrayA;
// }

// //通过areaNo获取设备
// export const getDevicesDataList = (areaNo, deviceSetx) => {
//   let array = [];
//   if (deviceSetx.length == 0) {
//     return array;
//   }
//   let count = 0;
//   //获取遥控器数据--排上方
//   let arrayR = getRemoteDataList(deviceSetx, areaNo);
//   for (let i = 0; i < arrayR.length; i++) {
//     array[count] = arrayR[i];
//     count++;
//   }

//   //获取普通设备
//   for (let i = 0; i < deviceSetx.length; i++) {
//     //过滤nano、遥控器
//     if (isNoBulbDevice(deviceSetx[i].pid)) {
//       continue;
//     }
//     if (deviceSetx[i].areaNo === areaNo) {
//       //过滤subgroup
//       if (deviceSetx[i].groupNo.substring(0, 3) === deviceSetx[i].areaNo.substring(0, 3)) {
//         continue;
//       }
//       array[count] = deviceSetx[i];
//       count++;
//     }
//   }

//   meshLog("wjk areaDevicesArray:", array);
//   return array;
// }

// export const getAreaName = (areaNo, areaSetx) => {
//   for (let m = 0; m < areaSetx.length; m++) {
//     if (areaSetx[m].areaNo === areaNo) {
//       return areaSetx[m].name;

//     }
//   }
//   return '';
// }

// //通过areaNo获取内部subGroup
// export const getSubGroupDataList = (areaNo, deviceSetx, groupSetx) => {
//   let arrayG = [];
//   if (groupSetx.length == 0) {
//     return arrayG;
//   }
//   let countG = 0;
//   for (let i = 0; i < groupSetx.length; i++) {
//     if (groupSetx[i].groupNo.substring(0, 3) === areaNo.substring(0, 3)) {
//       arrayG[countG] = { item: groupSetx[i], arrayD: [] }
//       countG++;
//     }
//   }

//   if (arrayG.length == 0) {
//     return arrayG;
//   }

//   for (let m = 0; m < arrayG.length; m++) {
//     let countD = 0;
//     let arrayD = [];

//     for (let i = 0; i < deviceSetx.length; i++) {
//       //过滤nano、遥控器
//       if (isNoBulbDevice(deviceSetx[i].pid)) {
//         continue;
//       }
//       if (arrayG[m].item.groupNo === deviceSetx[i].groupNo) {
//         arrayD[countD] = deviceSetx[i];
//         countD++;
//       }
//     }
//     if (arrayD.length > 0) {
//       arrayG[m] = { item: arrayG[m].item, arrayD: arrayD }
//     }
//   }
//   // meshLog("wjk arrayG:", arrayG);
//   return arrayG;

// }

// export const getAreasNameByAddr = (attrA) => {
//   let areaSetx = JSON.parse(SPGet("areaSetx"));
//   // meshLog("wjk ??????areaSetx:",areaSetx);
//   let attrN = [];
//   for (let i = 0; i < attrA.length; i++) {
//     let str = 'area';
//     for (let m = 0; m < areaSetx.length; m++) {
//       if (attrA[i] == parseInt(areaSetx[m].areaNo, 16)) {
//         str = areaSetx[m].name;
//         break;
//       }
//     }
//     attrN[i] = str;
//   }
//   meshLog("wjk attr name:", attrN);
//   return attrN;

// }
